package com.authine.cloudpivot.ext.dto.kingDee.request;

import com.authine.cloudpivot.ext.enums.kingdee.KingDeePaymentApplyType;
import io.swagger.annotations.Api;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


@Api("收款单模型")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(description = "收款单模型")
public class KingDeePlatformCollection implements Serializable {

    private static final long serialVersionUID = 4108020479084862471L;

    /**
     * 收款单号
     */
    @Schema(description = "收款单号")
    private String receiptNumber;

    /**
     * 付款客户组织ID
     */
    @Schema(description = "付款客户组织ID")
    private String paymentClientId;

    /**
     * 付款客户组织名称
     */
    @Schema(description = "付款客户组织名称")
    private String paymentClient;

    /**
     * 付款抬头
     */
    @Schema(description = "付款抬头")
    private String paymentPayable;

    /**
     * 收款方式
     */
    @Schema(description = "收款方式")
    private KingDeePaymentApplyType paymentApplyType;

    /**
     * 收款账号
     */
    @Schema(description = "收款账号")
    private String collectionAccount;

    /**
     * 付款金额
     */
    @Schema(description = "付款金额")
    private BigDecimal paymentAmount;

    /**
     * 收款时间 -- 生成凭证的时间
     */
    @Schema(description = "收款时间 -- 生成凭证的时间")
    private Date collectionTime;

    /**
     * 为空代表非代购 不为空代表代购
     * Goods：商品账单
     * ServiceFee：服务费
     */
    @Schema(description = "Goods：商品账单|ServiceFee：服务费")
    private String contractPaymentType;

    /**
     * 账套名
     */
    @Schema(description = "账套名")
    private String accountName;
}
